//
//  PicturePickerViewCell.swift
//  Status
//
//  Created by Kylin on 16/3/24.
//  Copyright © 2016年 Kylin. All rights reserved.
//

import UIKit
/* 在swift中写协议,并且协议中有可选方法
1> 在方法前加载 optional
2> 在protocol上方必须@objc
3> 在调用可选方法时需要先判断是否有实现,之后再调用时需要对方法进行强制解包
*/

@objc
protocol PicturePickerViewCellDelegate : NSObjectProtocol {
    optional func addPhotoBtnClickForCell(cell : UICollectionViewCell)
    optional func removePhotoBtnClickForCell(cell : UICollectionViewCell)
}

class PicturePickerViewCell: UICollectionViewCell {

    // 控件属性
    @IBOutlet weak var addPhotoBtn: UIButton!
    @IBOutlet weak var removePhotoBtn: UIButton!
    var image : UIImage?{
        didSet {
            if image != nil {
                addPhotoBtn.setBackgroundImage(image, forState: .Normal)
                addPhotoBtn.userInteractionEnabled = false
                removePhotoBtn.hidden = false
            }else {
                addPhotoBtn.setBackgroundImage(UIImage(named: "compose_pic_add"), forState: .Normal)
                addPhotoBtn.userInteractionEnabled = true
                removePhotoBtn.hidden = true
            }
        }
    }
    // 定义属性
    var delegate : PicturePickerViewCellDelegate?
    
    // MARK:- 事件监听
    @IBAction func addPhotoBtnClick() {
       // 如果代理实理了,代理方法,执行以下方法返回的就是就前cell
        if delegate?.respondsToSelector(#selector(PicturePickerViewCellDelegate.addPhotoBtnClickForCell(_:))) != nil {
            delegate?.addPhotoBtnClickForCell!(self)
        }
    }
    
    @IBAction func removePhotoBtnClick() {
        if delegate?.respondsToSelector(#selector(PicturePickerViewCellDelegate.removePhotoBtnClickForCell(_:))) != nil
        {
            delegate?.removePhotoBtnClickForCell!(self)
        }
    }

}
